package ca.usherbrooke.domus.sipnmove2.model.call;

/**
 * Call state as the State design pattern
 */
public interface CallState {

	/**
	 * Accept the call
	 */
	public void accept(Call call);

	/**
	 * Confirm the call
	 */
	public void confirm(Call call);

	/**
	 * Hang up the call
	 */
	public void hangUp(Call call);

	/**
	 * Initiate the call
	 */
	public void initiate(Call call);

	/**
	 * Make the call ringing
	 */
	public void ring(Call call);

	/**
	 * Terminate the call
	 */
	public void terminate(Call call);

}
